#include <iostream>
using namespace std;

/*
    保护继承和私有继承的区别：
        保护继承：可以传递n代   ==>teacher类的子类也可以使用Car类中的(非私有)成员
        私有继承：只能传递1代   ==>teacher类的子类不可以使用Car类中的成员

*/

class Car
{
public:
    void start()
    {
        cout << "启动汽车" << endl;
    }
    void stop()
    {
        cout << "停止汽车" << endl;
    }
    void addSpeed()
    {
        cout << "增加汽车速度" << endl;
    }
};
class Teacher : protected Car
{
public:
    void show()
    {
        start();
        addSpeed();
        stop();
    }
};
class Student : protected  Teacher
{
public:
    void show()
    {
        start();
        addSpeed();
        stop();
    }
};
int main()
{
    Teacher t;
    t.show();
    Student s;
    s.show();

    return 0;
}